<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

    <ui:composition template="layout.xhtml">

        <ui:define name="title">
            Detalhes do Registro de Imóveis
        </ui:define>        

        <!-- Ações dos Detalhes do Imóvel -->
        <ui:define name="content">         
            <h:form id="visualizarImovel">
                <div class="actions">
                    <div id="buttons">
                        <p:button value="Editar" outcome="criarImovel.xhtml"
                                  rendered="#{ managerPesquisarImovel.imovelVisualizar.id != null }"
                                  icon="ui-icon-pencil"
                                  styleClass="ui-priority-primary">
                            <f:param value="#{ managerPesquisarImovel.imovelVisualizar.id }" name="imovelId"/>
                        </p:button>

                        <p:splitButton value="Ações" process="@none" icon="ui-icon-gear" styleClass="acoes">
                            <f:param value="#{ managerPesquisarImovel.imovelVisualizar.id }" name="imovelId"/>

                            <p:separator />

                            <p:menuitem value="Averbar" icon="ui-icon-clipboard" outcome="fazerAverbacao.xhtml" >  
                                <f:param name="imovelId" value="#{ managerPesquisarImovel.imovelVisualizar.id }"/>
                            </p:menuitem>

                            <p:menuitem value="Registrar" icon="ui-icon-plus" outcome="fazerRegistro.xhtml" >
                                <f:param name="imovelId" value="#{ managerPesquisarImovel.imovelVisualizar.id }"/>
                            </p:menuitem>                            

                            <p:menuitem value="Transferir" icon="ui-icon-refresh" outcome="fazerTransferencia.xhtml" >  
                                <f:param name="imovelId" value="#{ managerPesquisarImovel.imovelVisualizar.id }"/>
                            </p:menuitem>

                            <p:menuitem value="Emitir Matrícula" title="Emitir Matrícula" icon="ui-icon-clipboard" 
                                        ajax="false" actionListener="#{ managerPesquisarImovel.emitirMatricula() }">
                            </p:menuitem>

                            <p:menuitem value="Excluir" title="Excluir" oncomplete="dialogApagar.show()" icon="ui-icon-trash">
                                <f:setPropertyActionListener target="#{ managerPesquisarImovel.imovelDeletar }" value="#{ managerPesquisarImovel.imovelVisualizar }" />
                            </p:menuitem>

                        </p:splitButton>

                    </div>
                </div>
                <!-- Informações do Protocolo -->
                <p:fieldset legend="Protocolo">
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Código:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.protocolo.id }" />
                        </div>

                        <div class="column3 bold">
                            <p:outputLabel value="Data:" />
                        </div>
                        <div class="column2 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.protocolo.dataCadastro }">
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </p:outputLabel>
                        </div>
                    </div>

                    <!-- Informações do Cliente -->
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Cliente:" />
                        </div>
                        <div class="column5 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.protocolo.cliente.nome }" />
                        </div>

                        <div class="column1 bold">
                            <p:outputLabel value="CPF:" />
                        </div>
                        <div class="column2 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.adicionarMascaraCPF(managerPesquisarImovel.imovelVisualizar.protocolo.cliente.cpf) }" />
                        </div>
                    </div>
                </p:fieldset>

                <!-- Informações do Cartório -->
                <p:fieldset legend="Cartorio">
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Origem:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.origem.nome }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Registro/Matrícula:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.registro }" />
                        </div>
                    </div>                    

                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Livro:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.livro.titulo }" />
                        </div>

                        <div class="column2 bold">
                            <p:outputLabel value="Folhas:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.imovelVisualizar.folhas }" />
                        </div>
                    </div>

                </p:fieldset>

                <!-- Informações do Título -->
                <p:fieldset legend="Título">
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Título:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.transferenciaVisualizar.titulo.nome }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Data:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.registroVisualizar.dataRegistro }">
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </p:outputLabel>
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Valor do Imóvel:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.transferenciaVisualizar.valor }" >
                                <f:convertNumber type="number" locale="pt-BR" />
                            </p:outputLabel>
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Moeda:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.transferenciaVisualizar.tipoMoeda.nome }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Forma do Título:" />
                        </div>
                        <div class="column8 large_text">
                            <p:outputLabel value="#{ managerPesquisarImovel.transferenciaVisualizar.formaTitulo }" />
                        </div>
                    </div>
                </p:fieldset>

                <!-- Informações do Registros Anteriores -->
                <p:fieldset legend="Registros Anteriores" rendered="#{ managerPesquisarImovel.imovelVisualizar.origem.registroAnterior }">
                    <p:dataTable value="#{ managerPesquisarImovel.registrosAnterioresNaoCadastrados }" var="registro"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhum registro adicionado">
                        <f:facet name="header">Não Cadastrados</f:facet>
                        <p:column width="5%">
                            <p:rowToggler />
                        </p:column>
                        <p:column headerText="Registro/Matrícula" width="20%">
                            <h:outputText value="#{ registro.registro }" />
                        </p:column>
                        <p:column headerText="Livro" width="20%">
                            <h:outputText value="#{ registro.livro }" />
                        </p:column>
                        <p:column headerText="Folhas" width="20%">
                            <h:outputText value="#{ registro.folhas }" />
                        </p:column>
                        <p:column headerText="Cartório" width="35%">
                            <h:outputText value="#{ registro.cartorio.razaoSocial }" />
                        </p:column>                        
                        <p:rowExpansion>
                            <h:outputText value="#{ registro.descricao }" styleClass="large_text" />
                        </p:rowExpansion>                        
                    </p:dataTable>
                    <p:dataTable value="#{ managerPesquisarImovel.imoveisAnteriores }" var="imovel"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhum registro adicionado">
                        <f:facet name="header">Cadastrados</f:facet>
                        <p:column headerText="Registro/Matrícula" width="40%">
                            <h:outputText value="#{  imovel.registro  }" />
                        </p:column>
                        <p:column headerText="Livro" width="30%">
                            <h:outputText value="#{  imovel.livro.titulo  }" />
                        </p:column>
                        <p:column headerText="Folhas" width="30%">
                            <h:outputText value="#{  imovel.folhas  }" />
                        </p:column>                          
                    </p:dataTable>
                </p:fieldset>

                <!-- Informações do Objeto -->
                <p:fieldset legend="Objeto">
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Tipo:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.tipo.nome }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Área do Imóvel:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.areaOriginal }" >
                                <f:convertNumber type="number" locale="pt-BR" />
                            </p:outputLabel>
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Medida:" />
                        </div>
                        <div class="column3 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.medidaArea.nome }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Descrição:" />
                        </div>
                        <div class="column8 large_text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.descricao }"/>
                        </div>
                    </div>
                    <div class="clear"></div>

                    <!-- Informações do Endereço do Imóvel -->
                    <p:fieldset legend="Endereço do Imóvel:">
                        <div class="row">
                            <div class="column2 bold">
                                <p:outputLabel value="Tipo do logradouro:" />
                            </div>
                            <div class="column3 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.tipoLogradouro.nome }"/>
                            </div>
                            <div class="column2 bold">
                                <p:outputLabel value="Localidade:" />
                            </div>
                            <div class="column5 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.localidade }"/>
                            </div>                            
                        </div>

                        <div class="row">
                            <div class="column2 bold">
                                <p:outputLabel value="Número:" />
                            </div>
                            <div class="column3 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.numero }"/>
                            </div>
                            <div class="column2 bold">
                                <p:outputLabel value="Logradouro:" />
                            </div>
                            <div class="column5 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.logradouro }" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="column2 bold">
                                <p:outputLabel value="CEP:" />
                            </div>
                            <div class="column3 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.adicionarMascaraCEP(managerPesquisarImovel.objetoVisualizar.endereco.cep) }" />
                            </div>
                            <div class="column2 bold">
                                <p:outputLabel value="Bairro:" />
                            </div>
                            <div class="column5 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.bairro.nome }" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="column2 bold">
                                <p:outputLabel value="Cidade:" />
                            </div>
                            <div class="column3 text">
                                <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.endereco.cidade.nome }" />
                            </div>
                        </div>
                    </p:fieldset>
                </p:fieldset>

                <!-- Informações das Confrontações -->
                <p:fieldset legend="Confrontações">
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Frente:" />
                        </div>
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.frente }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Lado Direito:" />
                        </div>
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.ladoDireito }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Lado Esquerdo:" />
                        </div>
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.ladoEsquerdo }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Fundo:" />
                        </div>                        
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.fundo }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Ao Norte:" />
                        </div>  
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.aoNorte }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Ao Sul:" />
                        </div>
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.aoSul }" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="column2 bold">
                            <p:outputLabel value="Ao Leste:" />
                        </div>
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.aoLeste }" />
                        </div>
                        <div class="column2 bold">
                            <p:outputLabel value="Ao Oeste:" />
                        </div>                        
                        <div class="column4 text">
                            <p:outputLabel value="#{ managerPesquisarImovel.objetoVisualizar.aoOeste }" />
                        </div>
                    </div>                    
                </p:fieldset>

                <!-- Informações dos Transmitentes -->
                <p:fieldset legend="Transmitentes Atuais">
                    <p:dataTable value="#{ managerPesquisarImovel.transmitentes }" var="transmitente"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhum transmitente adicionado">
                        <p:column headerText="Nome/Razão Social" width="70%">
                            <h:outputText value="#{ transmitente.tipoPessoa eq 'FISICA' ? transmitente.nome : transmitente.razaoSocial }" />
                        </p:column>
                        <p:column headerText="CPF/CNPJ" width="30%">
                            <h:outputText value="#{ transmitente.tipoPessoa eq 'FISICA' ? managerPesquisarImovel.adicionarMascaraCPF(transmitente.cpf) : managerPesquisarImovel.adicionarMascaraCNPJ(transmitente.cnpj) }" />
                        </p:column>
                    </p:dataTable>
                </p:fieldset>

                <!-- Informações dos Adquirentes -->
                <p:fieldset legend="Adquirentes Atuais">
                    <p:dataTable value="#{ managerPesquisarImovel.adquirentes }" var="adquirente"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhum adquirente adicionado">
                        <p:column headerText="Nome/Razão Social" width="70%">
                            <h:outputText value="#{ adquirente.tipoPessoa eq 'FISICA' ? adquirente.nome : adquirente.razaoSocial }" />
                        </p:column>
                        <p:column headerText="CPF/CNPJ" width="30%">
                            <h:outputText value="#{ adquirente.tipoPessoa eq 'FISICA' ? managerPesquisarImovel.adicionarMascaraCPF(adquirente.cpf) : managerPesquisarImovel.adicionarMascaraCNPJ(adquirente.cnpj) }" />
                        </p:column>
                    </p:dataTable>
                </p:fieldset>

                <!-- Informações das Averbações -->
                <p:fieldset legend="Averbações">
                    <p:dataTable value="#{ managerPesquisarImovel.averbacoes }" var="averbacao" id="averbacoesDataTable"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhuma averbação realizada">

                        <p:column width="5%">
                            <p:rowToggler />
                        </p:column>

                        <p:column headerText="Número" width="35%">
                            <h:outputText value="#{ averbacao.numero }" />
                        </p:column>                        
                        <p:column headerText="Data da Averbação" width="35%">
                            <h:outputText value="#{ averbacao.dataAverbacao }">
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </h:outputText>
                        </p:column>                  

                        <p:column headerText="Ônus" width="20%">
                            <h:outputText value="#{ averbacao.onus eq true ? 'Sim' : 'Não' }" />
                        </p:column>

                        <p:rowExpansion>

                            <p:panelGrid  columns="2" columnClasses="bold, large_text" styleClass="panelDetail">
                                <h:outputText value="Descrição:" />
                                <h:outputText value="#{ averbacao.descricao }" />
                            </p:panelGrid>                                                     

                        </p:rowExpansion>

                    </p:dataTable>
                </p:fieldset>

                <!-- Informações dos Registros -->
                <p:fieldset legend="Registros">
                    <p:dataTable value="#{ managerPesquisarImovel.registros }" var="registro"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhum registro realizado">

                        <p:column width="5%">
                            <p:rowToggler />
                        </p:column>
                        <p:column headerText="Número" width="45%">
                            <h:outputText value="#{ registro.numero }" />
                        </p:column>                        
                        <p:column headerText="Data do Registro" width="20%">
                            <h:outputText value="#{ registro.dataRegistro }">
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </h:outputText>
                        </p:column>

                        <p:rowExpansion>

                            <p:panelGrid  columns="2" styleClass="panelDetail" rendered="#{ registro.transferencia == null }">
                                <h:outputText value="Descrição:" styleClass="bold" />
                                <h:outputText value="#{ registro.descricao }" styleClass="large_text" />
                            </p:panelGrid>                               

                            <p:panelGrid  columns="2" styleClass="panelDetail" columnClasses="bold, large_text" rendered="#{ registro.transferencia != null }">
                                <h:outputText value="Forma do Título:" />
                                <h:outputText value="#{ registro.transferencia.formaTitulo }" />

                                <h:outputText value="Transmitentes:" />
                                <p:dataTable value="#{ managerPesquisarImovel.obterTrasmitentes(registro.transferencia) }" var="transmitente" >
                                    <p:column headerText="Nome/Razão Social" width="70%">
                                        <h:outputText value="#{ transmitente.tipoPessoa eq 'FISICA' ? transmitente.nome : transmitente.razaoSocial }" />
                                    </p:column>
                                    <p:column headerText="CPF/CNPJ" width="30%">
                                        <h:outputText value="#{ transmitente.tipoPessoa eq 'FISICA' ? managerPesquisarImovel.adicionarMascaraCPF(transmitente.cpf) : managerPesquisarImovel.adicionarMascaraCNPJ(transmitente.cnpj) }" />
                                    </p:column>                                    
                                </p:dataTable>

                                <h:outputText value="Adquirentes:" />
                                <p:dataTable value="#{ managerPesquisarImovel.obterAdquirentes(registro.transferencia) }" var="adquirente" >
                                    <p:column headerText="Nome/Razão Social" width="70%">
                                        <h:outputText value="#{ adquirente.tipoPessoa eq 'FISICA' ? adquirente.nome : adquirente.razaoSocial }" />
                                    </p:column>
                                    <p:column headerText="CPF/CNPJ" width="30%">
                                        <h:outputText value="#{ adquirente.tipoPessoa eq 'FISICA' ? managerPesquisarImovel.adicionarMascaraCPF(adquirente.cpf) : managerPesquisarImovel.adicionarMascaraCNPJ(adquirente.cnpj) }" />
                                    </p:column>                                    
                                </p:dataTable>                                
                            </p:panelGrid>                             

                        </p:rowExpansion>
                    </p:dataTable>
                </p:fieldset>

                <!-- Informações do Georreferenciamento -->
                <p:fieldset legend="Georreferenciamento">
                    <p:dataTable value="#{ managerPesquisarImovel.coordenadas }" var="coordenada"
                                 rows="10" paginator="true" paginatorPosition="bottom" emptyMessage="Nenhuma coordenada adicionada">
                        <p:column headerText="Latitude" width="50%">
                            #{ coordenada.latitude }
                        </p:column>
                        <p:column headerText="Longitude" width="50%">
                            #{ coordenada.longitude }
                        </p:column>
                    </p:dataTable>
                    <p:gmap id="mapa" zoom="18" center="#{ managerPesquisarImovel.centroMapa }" type="HYBRID" styleClass="gmap"
                            model="#{ managerPesquisarImovel.mapa }">
                    </p:gmap>                        
                </p:fieldset>

                <!-- Informações dos Anexos -->
                <p:fieldset legend="Anexos">
                    <p:panel styleClass="thumbnail" rendered="#{ managerPesquisarImovel.anexos.size() > 0 }">
                        <ui:repeat value="#{ managerPesquisarImovel.anexos }" var="anexo">
                            <h:outputLink
                                value="#{ anexo.tipo ne 'application/pdf' ? 'viewImage.xhtml' : 'show' }" title="#{ anexo.nomeExibicao }"  target="_blank">
                                <p:graphicImage rendered="#{ managerImagem.imagem(anexo) }"
                                                url="#{ managerImagem.urlThumbnailImagem(anexo) }" />
                                <p:outputLabel styleClass="nome_anexo" value="#{ managerImagem.nomeAnexo(anexo) }"
                                               rendered="#{ managerImagem.imagem(anexo) }"/>
                                <p:graphicImage height="100" width="100" rendered="#{ managerImagem.PDF(anexo) }" 
                                                url="#{ managerImagem.urlPDF }" />
                                <p:outputLabel styleClass="nome_anexo" value="#{ managerImagem.nomeAnexoPdf(anexo) }" 
                                               rendered="#{ managerImagem.PDF(anexo) }"/>
                                <f:param name="annex" value="#{managerImagem.urlVisualziarImagem(anexo)}"/>
                            </h:outputLink>
                        </ui:repeat>
                    </p:panel>
                    <h:outputText value="Nenhum anexo adicionado." rendered="#{ managerPesquisarImovel.anexos.size() == 0 }" />
                </p:fieldset>


                <p:dialog header="Deseja realmente excluir?" widgetVar="dialogApagar" modal="true"
                          closable="false" resizable="false" draggable="false" >
                    <div class="commandDialog">
                        <p:commandButton value="Sim"
                                         icon="ui-icon-check" actionListener="#{ managerPesquisarImovel.deletar() }" />
                        <p:commandButton value="Não" icon="ui-icon-close" oncomplete="dialogApagar.hide()" />
                    </div>
                </p:dialog>                  

            </h:form>

            <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>

        </ui:define>
    </ui:composition>
</html>
